home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
wildcat
/
mnode14.zip
/
MNODE14.DOC
< prev
next >
Wrap
Text File
|
1993-01-11
|
46KB
|
1,218 lines
Wildcat! v3.x Multi-Node DESQview Concepts Explained v1.4 11/28/92
By: Allen Woolley, Sysop, Moonlit Knight (408)-244-3459 v.32bis
█ █ Santa Clara, CA. 2 Lines.
█ █ NITED
█▄▄▄█ A United Sysops Association Member System.
█▀▀▀ More information on the USA! organization is
▀▀▀█ available from:
▄▄▄█ YSOPS
Stoney River Networks
█▀▀█ Beth Hall, USA Secretary
█▀▀█ (408)-739-9081 Voice
█ █ SSOCIATION (408)-739-8753 Ring of Fire BBS
v.32, 4 lines running under Novell.
-------- All files and text are Copyright 1992 by Allen Woolley -------
What is this document?
======================
This document contains a straight forward description of the specialized
techniques and methods I have used for running Wildcat under DESQview. I
have taught other Sysops these methods with great success. Hopefully
some of the information presented here will help you too.
Wildcat and DESQview are a very powerful solution for running a multi-node
BBS. The number of people with extensive DOS, DESQview and Wildcat ex-
perience is however very limited. As a result I have been asked by many
members of my Sysops Association over the last few years to help them
get multi-node Wildcat BBS's up and running.
A lot of what is covered in this document is already available the
Wildcat documentation. In all cases, the Wildcat and DESQview manuals
are your #1 source for accurate, current information. This document is
intended as a supplement to the MSI and DESQview-386 books.
What is covered?
----------------
This discussion is restricted to running Wildcat v3.xM ( the 10 node
version) or v3.xP (the 250 node version) under the DESQview-386
operating environment. I am running Wildcat v3.55M at the time of this
writing.
The system is running 3 nodes, one of which is a Local node (no modem)
only node.
What isn't covered?
-------------------
Wildcat is purrfectly happy in a Novel or Lantastic network environment.
Many of the concepts presented here are applicable to Netware operation,
but I will not cover any network specific concepts or procedures.
Look for a possible Wildcat+Netware article from the USA! group sometime
in the 1st quarter of 1993. Contact Beth Hall at the number given in
the introduction by voice for more information after 1/1/93.
Who I am:
---------
I have been running a Wildcat BBS since 1989. I have been multi-node
since 1991. For new sysops, some of the things I've learned will help
make your first attempt at running a multi-node BBS successful. For the
experienced single line sysop, I hope this will make the transition from
v3.xS to 3.xM or 3.xP as painless and satisfying as possible.
I am NOT perfect! If you find mistakes or have a better way of doing
things, please feel free to drop me a line either via WildNet Chat or by
calling either my BBS or Ring of Fire. Be sure to spell my last name
correctly, as the spelling is a bit unusual.
What you need to know:
----------------------
You CAN successfully run a multi-node BBS without knowing much of the
stuff below, BUT your far better off if you take the time to learn the
concepts specified in the following paragraphs.
You MUST be reasonably DOS knowledgeable. I am not going to be
explaining how to use the COPY command here. You need to have an
understanding of the following concepts:
System Boot files.....: CONFIG.SYS and AUTOEXEC.BAT
Batch files...........: CAT.BAT etc...
General DOS commands..: COPY, DEL, MD, CD etc...
Using the SET command.: Setting DOS Environment variables
Additionally, the more of the concepts listed below you can put a "check
mark" next to, the easier your Sysop-ing will be. If you haven't done
it yet READ the Wildcat Docs! You need to understand the following
Wildcat! concepts:
1)MAKEWILD
2)WCMODEM
3)CAT.BAT
DESQview-386 Concepts:
======================
QEMM memory manager:
--------------------
TSR managment........: Using LOADHI to load memory eating TSR's like
ANSI.SYS into high memory.
DESQview Concepts:
------------------
Script Files.........: Using DESQVIEW.DVS and the !STARTUP script to
auto-start programs when DESQview is booted up.
The DESQview Menu:...: How to use the "Add a Program" menu in Desqview.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
First Things First:
===================
Multi-node BBS's require you to do a number of things that you don't
normally need to do with a single line system. I am going to cover
exactly what you need to do to run multi-node, but first:
Get your BBS up and running as a Single Node, non-DESQview system first!
I cannot emphasize this point enough: You MUST de-bug and smooth out your
system in Single Node operation FIRST. It is Very hard to debug a
system running under DESQview that has not been proven to be bug free
running as a single node system under DOS.
Hardware notes:
---------------
You must have at least a 386-SX system to run DESQview 386. A 16Mhz PC
should be able to handle two online nodes just fine. Follow the Wildcat
manual's recommendations regarding 16550AFN UARTs for your serial board.
I highly recommend you use them as well. They are commonly available
from vendors such as Arrow, JDR, Jameco etc..
You can run two nodes successfully in just 2MB of memory, but I highly
recommend at least four. You can assume each additional node will require
about 1MB more memory. Most PC's only allow you to have 1,2,4,8 or 16MB
of memory on the motherboard. By setting your system up with 4MB, you
should be able to run 4 online nodes and one local node cleanly,
assuming no RAM disk or disk cache is installed.
A disk cache is a wonderful thing. It will greatly speed up your BBS and
is well worth the memory cost. I personally have 8MB of memory in my
486-33. I run a 2MB disk cache and a 2MB ram disk. I have enough
memory left over for 3 nodes of the BBS plus 2 DOS windows.
Multi Node Boot concepts:
-------------------------
One of the most important concepts you should have a firm handle on is
how your PC will boot itself into a multi-tasking DESQview environment.
I will be covering each block of Figure 1 in great detail below.
Please take a moment to actually read all of Figure 1 and have your DOS,
DESQview-386 and Wildcat! manuals handy to cross reference what I am
writing to what the manuals tell you. Between this document and the
manuals, you should be able to gain a clear understanding about how your
multi-node system will run without ever having to touch a keyboard.
Figure 1: PC to DESQview Boot Sequence:
****************************************
-----
(START)
-----
|
|---------|
| PC BIOS |
|---------|
|
|
|------------|
| CONFIG.SYS |
|------------|
|
| CALL CLEANALL.BAT
|--------------|>>>---------->>>-|---------------|
| AUTOEXEC.BAT | | CLEANALL.BAT* |
|--------------|<<<----------<<<-|---------------|
| * Used as part of this
| demonstration only!
|----------| Not a normal DOS start-
| DESQview | up file!
|----------|
|
|
|--------------|
| DESQVIEW.DVS |
| + |
| !STARTUP |
|--------------|
|
|
--------------------------0------------------------------------>>>
| | |
| | |
|-----------| |-----------| |-----------|
| NODE1.BAT | | NODE2.BAT | | NODEx.BAT |
|-----------| |-----------| |-----------|
| | |
| | |
|---------| |---------| |---------|
| CAT.BAT | | CAT.BAT | | CAT.BAT |
|---------| |---------| |---------|
BIOS:
=====
On system power up, the PC will automatically read a small area of
battery powered memory. This memory holds information like the type of
disk drives installed, how much memory is installed as well as the time
and date clock.
Be sure the time and date are correct in your system! BBS's require
that the system clock be accurate for user time on line accounting,
event .BAT file execution etc...
If your PC clock runs fast or slow, you must make a point of resetting
it every few days. Weak batteries are a prime cause of PC clocks
running erratically. If your clock is doing weird things, change out
the battery.
CONFIG.SYS:
===========
This file is where you need to pay close attention to your QEMM manual.
Included below is the CONFIG.SYS I use on Moonlit Knight. Note that I
have an Adaptec SCSI host adapter and 8MB of memory in the system. I
create a 2MB RAM drive for menus, bulletins and the like, as well as
loading a 2MB disk cache.
CONFIG.SYS Considerations:
--------------------------
You will need to specify a minimum of 30 file handles for the DOS
FILES=xx command. In general, set the number of FILES equal to the
number of nodes your going to be running * 10 + 30. I have a 3 node
system, so the number of files I need is: 3 nodes * 10 = 30 files, + 30
more = 60 FILES total.
When all three nodes are running, my system will have anywhere from 11
to 40 files open, depending on who is doing what.
The DOS environment size is critical! You will be making extensive use of
the DOS environment and require a far larger environment size than the
DOS default. Each node will require approximately 75 bytes of space
beyond what is used in the CONFIG.SYS and AUTOEXEC.BAT.
QEMM Considerations:
--------------------
I recommend you Not use "Stealth" mode. This mode is touchy on most
machines. On those PC's that can run it, I have observed a marked
decrease in the execution speed of the software (the machine runs
slower).
Use the parameter X=FE00-FEFF to exclude the floppy disk I/O area of your
BIOS. Be sure to use Manifest to find other INCLUDE and EXCLUDE address
ranges as required. This procedure is well documnted in the Manifest
and QEMM manuals.
I have found that running OPTIMIZE twice in a row will sometimes LOADHI
more TSR's than a single pass will. Strange, but true!
I recommend not loading DOS into the UMB (Uppper Memory Block).
Instead, use the DOS=HIGH,NOUMB command and use QuarterDeck's LOADHI
program to load all your TSR's into high memory instead of the DOS 5.0
DEVICEHIGH and LOADHIGH commands. This will also greatly help OPTIMIZE
figure out the best place to put your TSR's in upper memory. Basically:
Stick with the Quarterdeck memory tools, they are a lot better than
Microsoft's at this point.
(This file is on disk as CONFIG.TMP)
REM C:\CONFIG.SYS 11/10/92 with SCSI support
REM ----------------------------------------
REM SET UP FOR THE DESQview ENVIRONMENT
REM -----------------------------------
REM INSTALL QUARTERDECK EXTENDED MEMORY MANAGER v6.02
REM Note: Use MANIFEST to find other INCLUDE and EXCLUDE regions.
REM The DISKBUF=2 is required for SCSI disks only!
DEVICE=C:\QEMM\QEMM386.SYS RAM ROM X=FE00-FEFF DISKBUF=2
REM -----------------------------------
REM SCSI DISK DEVICE DRIVERS
DEVICE=C:\QEMM\LOADHI.SYS C:\SCSI\ASPI4DOS.SYS /D
REM -----------------------------------
REM CREATE A 2MB DISK CACHE
REM The DOUBLE_BUFFER is required only for SCSI disks!
DEVICE=C:\DOS\SMARTDRV.EXE 2048 1024 /b:2048/DOUBLE_BUFFER
REM -----------------------------------
REM PUT THE MS DOS KERNAL IN HIGH MEMORY
DOS=HIGH,NOUMB
REM -----------------------------------
REM CREATE D:\ RAM DISK
DEVICE=C:\QEMM\LOADHI.SYS C:\DOS\RAMDRIVE.SYS 2000 128 128 /e
REM -----------------------------------
REM MOUSE DRIVER
DEVICE=c:\qemm\loadhi.sys c:\mouse\mouse.sys
REM -----------------------------------
REM LOAD THE ANSI SCREEN DRIVER
DEVICE=C:\QEMM\LOADHI.SYS C:\DOS\ANSI.SYS
REM -----------------------------------
REM MISC. DOS PARAMETERS:
STACKS=0,0
FILES=60
BUFFERS=1
REM -----------------------------------
REM CREATE A LARGER DOS ENVIRONMENT
SHELL=C:\COMMAND.COM /e:512 /p
REM -----------------------------------
REM --- END CONFIG.SYS ---
AUTOEXEC.BAT Considerations:
----------------------------
The order in which you load your TSR's here may very well effect how
successful OPTIMIZE is in loading all the TSR's high. You should play
around with different TSR loading orders if OPTIMIZE can't get
everything loaded high.
Please read the AUTOEXEC.BAT below carefully. I have removed most of
the non-BBS related items from it. The remaining items give you an idea
how my system is set up. This one AUTOEXEC.BAT services Both DESQview
and Windows. No separate system configuration is required!
The Wildcat specific areas are offset with "******".
(This file is on disk as AUTOEXEC.TMP)
@ECHO OFF
ECHO ---- C:\AUTOEXEC.BAT 11/10/92 Wildcat Multi Node under DESQview ----
ECHO Configuring System parameters
SET COMSPEC=C:\COMMAND.COM
REM ---------------
REM SETUP DOS SEARCH PATH
PATH C:\UTILS;C:\QEMM;C:\WC30;C:\DV;C:\ZIP;C:\DOS;C:\NDW;C:\WINDOWS;C:\;
REM ---------------
REM TURN ON VERIFY
VERIFY ON
REM ---------------
REM SET UP THE SYSTEM PROMPT
PROMPT $P$G
REM ---------------
BREAK ON
REM ***************
REM LOAD TSR's
REM ***************
ECHO Loading TSR's
REM ---------------
REM SHARE UP TO 40 FILES
C:\QEMM\LOADHI C:\DOS\SHARE /L:40
REM ---------------
REM Load the DOSKEY utility
C:\QEMM\LOADHI C:\DOS\DOSKEY.COM /INSERT
REM ***************
REM Configure the environment, keyboard and screen colors
REM ***************
REM ---------------
REM SET SCREEN COLOR USING ANSI CODES
TYPE C:\UTILS\GRN.ANS
REM ---------------
REM SET BORDER COLOR
BORD
REM ---------------
REM Norton Desktop for Windows Tools
SET NDW=C:\NDW
REM SMARTCAN /ON /SKIPHIGH
REM ---------------
REM SETUP FOR WINDOWS
MD D:\TEMP
SET TEMP=d:\TEMP
SET WINPMT= Windows $P$G
REM ---------------
REM SET SOUND BLASTER ENVIRONMENT
SET SOUND=C:\SBPRO
SET BLASTER=A220 I7 D1 T2
REM ***************
REM Setup the Wildcat Environment variables
SET WCNODEID=1
SET WCPORTID=1
SET WCMDM=HST
SET WCHOME=C:\WC30
REM ******* TEST ENABLE ********
rem Short circuit BBS setup for testing purposes only. Un-remark the
rem GOTO ABORT command below to avoid building the MLK work disk and
rem starting DESQview
rem goto abort
REM ***************
REM ******* CLEANUP ********
rem Cleanup all BBS tag files for DESQview operation.
call C:\UTILS\CLEANALL.BAT
REM ***************
REM ***************
rem build the Moonlit Knight BBS working disk on RAM disk D:\
call c:\wc30\buildmlk.bat
REM ***************
REM ***************
ECHO BOOTING UP DESQVIEW. BBS NODE1 WILL START VIA !STARTUP SCRIPT
DV
REM ***************
REM ***************
rem Short circuit BBS set up to here for testing only.
:abort
echo BBS d:\ disk not built!
REM ***************
REM --------------- END AUTOEXEC.BAT ---------------
For now, ignore the TEST ENABLE and the CLEANUP areas. Instead
concentrate on the Wildcat environment variables.
As stated in the Wildcat manual, the use of any of the WCxxxx
environment variables OVER-RIDES the corresponding MAKEWILD settings.
This means that you can specify Node numbers, serial port numbers and
Modem .MDM files, as well as a number of other Wildcat specific things
useing the the DOS SET command from within a .BAT file.
However what is not clearly explained is that the settings in a .MDM
file over-ride BOTH the MAKEWILD and the DOS environment settings. This
means that you need to use WCMODEM to define a .MDM file for each node
(assuming that your using different types of modems) that specifies the
correct serial port ID. You still need to set the WCPORTID however, as
many support programs and DOORs may very well require it.
I defined the settings for my default Single node (no DESQview) node
here, so I can run the BBS for test purposes.
I copy all my display files (menus, bulletins, etc...) to a RAM disk
(D:\) to speed up the operation of the BBS and save wear and tear on the
hard drive. This takes a bit of time to accomplish however, so I have
created the TEST ENABLE section to not only allow me to skip "building"
the RAM disk up, but also to skip booting up DESQview (which would start
up 2 nodes of the BBS) so I can test new system configurations without
ruining the BBS.
HINT:
=====
If you can give up bit mapped graphics, use the VIDRAM program to turn
your VGA card's graphics memory into DOS usable memory! Add this command
into the QEMM386.SYS command in your CONFIG.SYS: VIDRAMEMS
Then add this bit to your AUTOEXEC.BAT just before you startup DESQview:
Echo Converting graphics memory to DOS usable memory:
VIDRAM ON
REM **********
You will NOT be able to run any VGA bit mapped applications with VIDRAMEMS
and VIDRAM loaded into QEMM. You must have alternate CONFIG and AUTOEXEC
files for your system if you desire to use the VIDRAM parameters to increase
your memory size AND be able to run bit mapped graphics.
If your system is used primariliy for BBS use only, I highly recommend you
use VIDRAM. I get 603K DOS windows using this technique.
The BUILDMLK.BAT file simply creates the display file directories and
then copies the files to the D:\ drive for the BBS to use (as specified
in MAKEWILD).
(This file is on disk as BUILDBBS.TMP)
@echo off
rem C:\WC30\BUILDMLK.BAT 11/10/92
cls
Echo Building d: drive for Moonlit Knight Display Files...
rem ----
rem Log into the d: drive
d:
rem ----
echo Making a directory for the SCAN virus detector
MD D:\BUGCHECK
rem ----
echo Making a directory for TNET and SLMR
MD D:\QWK
rem ----
echo Making directories for the Wildcat work files
MD d:\HELP
CD d:\HELP
echo Copying the HELP files....
COPY C:\WC30\HELP\*.* D:\help\*.*>NUL:
REM ----
MD d:\DISP
CD d:\DISP
echo Copying the Display files....
COPY C:\WC30\DISP\*.* d:\disp\*.*>NUL:
REM ----
MD d:\BULL
CD d:\BULL
echo Copying the Bulletins....
COPY C:\WC30\BULL\*.* d:\bull\*.*>NUL:
REM ----
Echo C:\WC30\BUILDMLK.BAT complete.
C:
CD\
Once the D:\ RAM disk is setup, the BBS is ready for startup by a
DESQview script.
DESQview:
=========
Before starting DESQview up, CD C:\DV and run the DESQview SETUP program.
You want to select the Performance option.
You will then be presented with new menu that allows you to set the
Forground and Background "Ticks". Set these both to 2. Very slow
machines may require a setting of "3", so keep this in mind if your BBS
drops characters or has problems when files are Uploaded (not
Downloaded!) to it.
On this same menu, set the Optimize Communications? to Yes. Save your
changes and quit SETUP. Now start up Desqview.
Before getting into DESQview scripts, you need to install the BBS into the
DESQview "Open Window" menu. Refer to your DESQview manual on how to "Add
a Program" to the DESQview Open Window menu. You are going to start
with a simple 2 node setup that DESQview will autostart for you.
You can always add more nodes later, but for now, lets stick with a 2
node configuration. You need to install two new menu items called:
BBS Node 1 N1
BBS Node 2 N2
Use the settings below for Each node. Be sure you use N1 and N2 for the
"Keys to Use on Open Menu:" as the script file you'll be using to
auto-start both nodes later will be expecting them.
Change a Program
Program Name............: MLK NODE 1 HST
Keys to Use on Open Menu: N1 Memory Size (in K): 480
──────────────────────────────────────────────────────────────────────────────
Program...: NODE1.BAT
Parameters:
Directory.: C:\WC30\WCWORK\NODE1
──────────────────────────────────────────────────────────────────────────────
Options:
Writes text directly to screen.......: [N]
Displays graphics information........: [N]
Virtualize text/graphics (Y,N,T).....: [T]
Uses serial ports (Y,N,1,2)..........: [1] (* See Below!!!)
Requires floppy diskette.............: [N]
Change a Program Advanced Options
System Memory (in K).......: 0 Maximum Program Memory Size (in K)..: 800
Script Buffer Size.......: 200 Maximum Expanded Memory Size (in K): 800
Text Pages: 1 Graphics Pages: 0 Initial Mode: 1 Interrupts: 00 to FF
──────────────────────────────────────────────────────────────────────────────
Window Position:
Maximum Height: 25 Starting Height: 25 Starting Row...: 1
Maximum Width.: 80 Starting Width.: 80 Starting Column: 1
──────────────────────────────────────────────────────────────────────────────
Shared Program
Pathname..:
Data......:
──────────────────────────────────────────────────────────────────────────────
Close on exit (Y,N,blank)......: [N] Uses its own colors..............: [Y]
Allow Close Window command.....: [Y] Runs in background (Y,N,blank)...: [Y]
Uses math coprocessor..........: [N] Keyboard conflict (0-F)..........: [0]
Share CPU when foreground......: [Y] Share EGA when foreground/zoomed.: [Y]
Can be swapped out (Y,N,blank).: [N] Protection level (0-3)...........: [0]
----------
* Set Node 1 so that it uses COM1: and Node 2 so that it uses COM2:. If
your using any other COMM ports, set this to Y.
----------
This configuration tells DESQview that the MINIMUM amount of memory you want
for Wildcat is 480K. Setting the MAXIMIM Program memory to 800K tells
DESQview to give the program as much memory as it can.
Note:
=====
If your using VIDRAM to increase your DOS window memory size, you should
probably set this to a much lower number, like 500 or so. Wildcat! does NOT
need huge 600K blocks of memory to run in. Anything much over 500K or so is
a waste of memory that other DESQview windows could use.
Some high powered DOOR programs may want as much memory as possible (certain
DBase door programs for example, or perhaps DOORWAY). In that case, set
each node individually to the amount of memory required.
DESQview Scripts:
-----------------
A DESQview script file (FILENAME.DVS) contains a library of macros that
are associated with a DESQview "Open Window" menu selection. For
example, a script file name BD.DVS holds all the macros for the Big Dos
program selection.
There is one script file that is not associated with any Open Window
program called DESQVIEW.DVS. This script is associated with the DV.EXE
program itself and is automatically read when DV.EXE is run. There is
more on this in the DESQview manual.
Normally you would use the DESQview LEARN function to record this script
file, but the procedure for getting it to work right is a pain.
Instead, I have included DESQVIEW.TMP, an ASCII file that you can use
the "Convert a Script" program to compile into DESQVIEW.DVS.
Autostarting a program using DESQVIEW.DVS
-----------------------------------------
There is one other slick trick that you need to know about: Any macro
you record into a .DVS file using the LEARN function has to be given a
macro name. If the first letter of that name is an exclamation point
"!" the macro is AUTOMATICALLY executed on opening the program window.
This is critical to understand:
On startup, DESQview will look for a script file called DESQVIEW.DVS. If
DESQview finds this script file, it will read in the contents of the
file. Now, if one of the macros in DESQVIEW.DVS starts with the !
character, DESQview will EXECUTE that macro before it does anything
else.
This is the equivelent of having an AUTOEXEC.BAT file inside the
DESQVIEW.DVS script. Here is the DESQVIEW.TMP file that you will use
the Convert a Script program to turn into DESQVIEW.DVS:
(This file is on disk as DESQVIEW.TMP)
{Learn {Shift-F11} "!Startup"}
ON1{DESQ}ON2
{Finish}
This macro tells DESQview that you want it to Open a Window (the "O"), then
start the program "N1". You then want it to open the DESQview menu
(the {DESQ} ),then Open a Window (the "O" again) and then boot up the
"N2" program.
You can edit this sequence to add more nodes. Just add another {DESQ}Ox,
where the x= the node number of node you want to run. Remember: You
must first ADD the new node(s) to the DESQview menu using Add a Program!
Compiling DESQVIEW.TMP
======================
Once you have added all the nodes that you wish to have started
automatically by DESQview, you need to "compile" it into something
DESQview can read on startup by using the Convert a Script program.
Convert a Script:
S) Script to Text File
T) Text to Script File
X) Exit
Selection:
You of course desire to convert the DESQVIEW.TMP file into DESQVIEW.DVS,
so select "T" from the menu and enter the correct file names. Once the
script is converted, Exit this program.
NODEx.BAT:
==========
Note: The "x" in the file name is to be replaced by the corresponding
Node ID number.
You no doubt noticed that you will be executing a file called NODE1.BAT in
the Program...: NODE1.BAT section of the DESQview Change a Program menu.
The reason for this is as follows:
Once DESQview has started, it will open up as many nodes as you specify
in the !STARTUP script. All the nodes are running at the SAME time.
The one major Rule of running Wildcat (or any other multi node BBS)
under DESQview is that you Must Not duplicate node numbers. Duplicating
node numbers causes really nasty things to happen to your BBS's data
bases and internal record keeping data structures. Don't Do it.
Using NODEx.BAT allow you to accomplish the following:
1) Avoid duplicate node numbers.
2) Detect node crashes.
3) Change Modem types, node numbers etc... with extraordinary ease.
4) Use the EXACT same NODEx.BAT file on all nodes, specifying only the
NODE ID, modem .MDM file and comm port to use. This makes changing
modems from node to node, adding new nodes, deleting old nodes and
general house keeping a breeze.
NODEx.BAT needs to be copied to the C:\WC30\WCWORK\NODEx directory for
EACH node. You then need to rename NODEx.BAT to NODE1.BAT or NODE2.BAT,
etc... as required by the node number you are creating.
NODEx.BAT Internals:
--------------------
(If the text below gets too thick, simply jump down to the NODEx.BAT
listing below and read that instead. You will probably understand what
the .BAT is doing simply by reading the comments and the commands)
NODEx.BAT uses a "tag file" to determine whether another node with the same
node number is currently running. A tag file has no other purpose than to
exist on the drive in a specific directory. Other programs and .BAT files
can then look to see if the tag file exists. If it does, the program will
take one action; if the tag file doesn't exist, the program can take a
different action.
In the case of NODEx.BAT, the batch file first sets the environment
variables to the correct node number, modem .MDM file and comm port to
use. It then checks for a tag file called NODE%WCNODEID%.UP.
While the NODEx.BAT file is executing, the %WCNODEID% is replaced with
the value assigned to it by the SET WCNODEID= command above it. For
example:
If the DOS command is SET WCNODEID=1,
Then the file name: NODE%WCNODEID%.UP, translates into: NODE1.UP.
The %WCNODEID% is simply a name to which the value of "1" has been
assigned by the SET command.
If another copy of Wildcat with a node number of 1 is already running,
a file called NODE1.UP will already exist in the \WC30 directory. Using
the DOS command IF EXIST filename, we can tell the .BAT file to branch
to an :ABORT routine.
If NODE1.UP is Not found in the specified directory, we can safely assume
that node 1 of the bbs is not running, and safely continue to boot node
1 up without crashing the system.
Assuming all is well, and NODE1.UP does Not exist, the next thing
NODEx.BAT does is to "lock out" the node by Creating the tag file
(NODE1.UP) it just looked for. It does this by copying C:\WC30\NODE.TAG
to C:\WC30\NODEx.UP, where the x is the node number SET by %WCNODEID%.
Any other attempts to start up another node 1 (we are running DESQview
here, and it is entirely possible that the operator may accidently boot
up two nodes with the same node number. I KNOW this is possible as I
have done it!) will result in the second copy of the NODEx.BAT file
detecting NODE1.UP already exists. When this happens, the second copy
of NODEx.BAT will ABORT with an error message.
This bit of DOS obscurity allows us to use the exact same generic batch
program to start all the nodes in the system. All the Sysop has to do is
change the values of the SET environment variables, instead of writing a
custom .BAT file for every node.
Read through NODEx.BAT and follow the program flow. I think it will all
make sense quite easily (perhaps far more easily than the babble above!)
(This file is on disk as NODEX.TMP)
@echo off
rem C:\WC30\WCWORK\NODEx\NODEx.BAT
rem Generic BBS NODE startup template .BAT
ren Be sure to RENAME this .BAT file to the proper node number
rem IE: NODE1.BAT, NODE2.BAT etc...
rem -----
rem Set This node's specific configuration by
rem editing the next 3 SET commands:
rem ---------------------------------------
set WCNODEID=1
set WCPORTID=1
set WCMDM=HST
rem No other node information is required to be entered
rem by the Sysop other than the 3 lines above!
rem -----
rem Begin Generic .BAT file routines:
Echo Executing NODE%WCNODEID%.BAT
Echo ====
Echo Testing for C:\WC30\NODE%WCNODEID%.UP
if exist C:\WC30\NODE%WCNODEID%.UP goto NODE_CONFLICT
Echo ====
Echo NODE%WCNODEID% is not running, bringing up NODE%WCNODEID% normally.
echo ====
Echo Locking out NODE %WCNODEID% via NODE%WCNODEID%.UP tag file.
copy c:\wc30\node.tag c:\wc30\NODE%WCNODEID%.UP>NUL:
echo ====
Echo Installing NODE%WCNODEID% TSR's and environment variables.
doskey /insert
prompt NODE %WCNODEID% $p$g
dvansi
cls
Echo ====
Echo NODE%WCNODEID%.BAT complete. Starting up the BBS via C:\WC30\CAT.BAT.
cd c:\wc30
cat.bat
goto EXIT
REM ----------------------------
:NODE_CONFLICT
CLS
Echo Node %WCNODEID% Conflict detected!
Echo -----
Echo
Echo NODE%WCNODEID%.UP tag file found in C:\WC30. One of two things
Echo has occured:
Echo
Echo 1) You are attempting to start up a 2nd copy of NODE %WCNODEID%
Echo under Desqview.
Echo
Echo 2) The BBS did not terminate normally (there was a crash or reboot)
Echo via CAT.BAT.
Echo
Echo Please verify that you are not attempting to start up a 2nd copy of
Echo NODE %WCNODEID%. If there was a crash, please run CLEANUP.BAT from
Echo the C:\WC30\WCWORK\NODE%WCNODEID% directory.
cd c:\wc30\wcwork\node%WCNODEID%
:EXIT
Echo
Echo NODE%WCNODEID%.BAT Done!
Echo
CAT.BAT Internals:
==================
Hooray! We finally actually get to start up a node of the BBS now!
Sorry it took so long, but...
In any case, the CAT.BAT file is very simple to understand:
(This file is on disk as CAT.TMP)
@ECHO OFF
REM CAT.BAT 2-Oct-92
REM -----
echo Running CAT.BAT for Node %wcnodeid% on COM:%wcportid%
REM -----
:RELOAD
C:\WC30\WILDCAT
REM -----
IF ERRORLEVEL 1 GOTO RELOAD
REM -----
REM Kill the NODEx.UP tag file
IF EXIST NODE%WCNODEID%.UP DEL C:\WC30\NODE%WCNODEID%.UP
REM END OF CAT.BAT
CAT.BAT will automatically delete the node tag file when you shut down
the node using the F-10 key or the DOS NEXT option while a caller is on
line.
Be SURE not to restart the BBS using CAT.BAT!!!!
Doing so will remove the tag file protection against node number conflicts!
Always use the DESQview EXIT command, then the Open Windows command to
re-start the node using NODEx.BAT.
You may also run NODEx.BAT manually, but it's generally safer to use
DESQview to open all nodes for you.
CRASH Recovery:
===============
There are 2 potential type of crashes:
1) A Single node crashes, requiring you to use the DESQview Close Window
command.
In this case, CAT.BAT doesn't have a chance to delete the NODEx.UP tag
file. Any further attempt to re-start the node via NODEx.BAT will
fail because of this.
Single Node Crash Recovery:
--------------------------
If NODEx.BAT calls out a node conflict, first VERIFY that another
copy of the node is Not running.
Once you have verified this is indeed the case, use CLEANUP.BAT to
automatically delete the correct NODEx.UP tag file.
You may now restart the node using either the DESQview Open Window
menu (be sure to EXIT the current window first) or by manually
running NODEx.BAT
2) A full system crash where Everything comes to a halt.
You never know when the dog's tail will hit the power plug, or when your
two year old might discover that PC's BEEP whenever the reset button
is pushed.
In this case, ALL the currently running NODEx.UP tag files will exist.
Earlier I told you to ignore the CALL CLEANALL.BAT command in the
AUTOEXEC.BAT file. Now is the time to un-ignore it.
Review the AUTOEXEC.BAT file again, and then read the CLEANALL.BAT
file below. Everything should make sense now!
@echo off
rem C:\WC30\CLEANALL.BAT
echo
echo Deleting ALL BBS NODEx.UP tag files...
if exist c:\wc30\*.up del c:\wc30\*.up
echo
echo BBS tag file cleanup completed.
echo
MAKEWILD Considerations:
========================
You need to set item #14 in the MAKEWILD General Definition screen to:
14. Auto determine node ID : N
and item 16 to
16. Network type : DOS Share
WCMODEM Considerations:
=======================
You need to create a UNIQUE .MDM for each node, even if you have all the
same brand of modem. The reason for this is that the .MDM comm port
assignment OVER-RIDES the WCPORTID variable.
If you have 3 HST/DS modems running on COM1-COM3 suggested file names
would be DS1.MDM, DS2.MDM, DS3.MDM etc... Be sure to specify any
special IRQ and address information etc...
Only YOU can prevent two nodes from fighting over 1 modem. If you do
get two nodes trying to use the same modem, the LAST node that "talked"
to the modem will "own" the device. All other nodes will be unaware
that the modem is no longer thiers to use and will merrily Wait for
Calls until doomsday.
The Short List to MultiNode Operation:
======================================
0) Set up QEMM and LOADHI properly using OPTIMIZE and MANIFEST.
1) Copy all the *.TMP files to thier proper directories. Each file has
the proper location included as part of the file name. Rename these
files as required.
See the PLZ-READ.1ST file for the directory specifications for each
.TMP file.
2) Edit all the NODEx.BAT files to indicate the proper node numbers,
com: ports and .MDM files.
3) Rename the NODEx.BAT file to reflect it's proper node number.
4) Install N1, N2, Nx... into the DESQview Open a Window menu.
5) Add a {DESQ}N3{DESQ}N4 etc... to the DESQVIEW.TXT file if you want
to autostart more than N1 and N2.
6) Use Convert a Script to compile DESQVIEW.TXT into DESQVIEW.DVS.
7) Restart DESQview, and all the nodes will automagically start!
Conclusion:
===========
It wasn't exactly easy, but your now well on your way to a robust multi-
tasking BBS system. Hopefully all this information will help you more
than it will confuse you. Feel free to drop me a note on any of the
BBS's listed in the introduction.
Enjoy!
Allen Woolley, Sysop, Moonlit Knight (408)-244-3459
ADDENDUM
========
I have been receiving messages like the one below requesting more help.
Most of the problems folks are having can be solved by using OPTIMIZE and
MANIFEST together. Please read through the exchange of the two messages
below for an example of the potential problems and solutions you may run
into.
A.W.
----------------------------------------
From : DAVID ROSE Number : 568 of 572
To : ALLEN WOOLLEY Date : 11/15/92 11:06am
Subject : Comment 11/15/92 10:52am Reference : NONE
Read : 11/17/92 8:41am (REPLIES) Private : NO
Conf : 000 - General Mail
Hello Allen,
I run a Wildcat BBS in Mass. and am trying to setup Wc 3.55M with
DesqView. I'm having a hell of a time with it. Pulled out half of my
hair, and am working on the rest this weekend! I d/l'd your file -
MNODE10.ZIP from the support board, and worked through it, without
success. It helped fix a few problems I was having, but still can't get
this thing to work properly. One question I had for you was which
version of DesqView you are using? I am running DesqView 2.42... am
thinking of buying DV/X but not sure if it's worth it or not at this
point. But would like to at least see this work before I invest DV/X.
The problems that I'm having:
1: After setting N1.Bat with a memory size of 480k and answering
N to Can be swapped out, the program won't load because I don't have
enough memory available. I have 8 meg of ram on board, I run a 1 meg
Ram Disk & 3 meg Cache (hyperdisk), but I still should have plenty of
memory, however it seems to be trying to address the first 640k that I
have. I had to adjust it down to 438 to make it run. That was the
largest memory I could give it. However, when I set up N2.BAT and then
try to swap from N1 to N2, DV says there is a non-swappable window in
the way. So I had to set it to Y and then it works (kind of).
2nd problem, when I try to switch from N1.BAT to N2.BAT it seems to take
a long time to load and there seems to be a long of disk writes going
on. Any clue what might be causing that?
3. Once I have both N1 and N2 up and running, if I have N2 in the
foreground, N1 refuses to answer the phone. It just seems to stop
working. If I switch back it seems to work. I have both set up as you
suggest with 2 Ticks... My machine is a 386sx 16 mhz. Not fast, but
should be able to handle 2 nodes. All I really want to do is run the
modem on Node1 and be able to log on locally on Node2. Just can't seem
to get it done. If you have any hints about some of these problems, I'd
appreciate you letting me know.
I understand you're probably out of town for the weekend, so I'll try
logging onto your board sometime next week for an answer or, if you want
to send me E-Mail, I have a FidoNet address 1:322/582. Thanks in
advance.
David Rose
----------------------------------------
From : ALLEN WOOLLEY Number : 572 of 572
To : DAVID ROSE Date : 11/18/92 12:36am
Subject : Desqview + Wildcat Reference : 568
Read : NO Private : NO
Conf : 000 - General Mail
David,
-> I run a Wildcat BBS in Mass. and am trying to setup Wc 3.55M with
-> DesqView. I'm having a hell of a time with it. Pulled out half of m
This WILL Work, we just have to figure out what the heck is going on...
After reading this ENTIRE reply:
Run the C:\QEMM\TECHSUP.BAT file. This BAT file uses Manifest to
basically dump everything about your PC into a file called TECHSUP.MFT.
Upload this file to me.
-> success. It helped fix a few problems I was having, but still can't
At least your making progress...
-> version of DesqView you are using? I am running DesqView 2.42... am
DESQview v2.42 is running here very successfully.
-> thinking of buying DV/X but not sure if it's worth it or not at this
Don't bother. I don't think the scalable DOS windows are worth the
$$$, plus you take a definate performance hit as well do to the bit
mapped graphics. The extras (Like X-Windows emulation etc...) co$t a
lot of $ to buy.
-> 1: After setting N1.Bat with a memory size of 480k and answeri
-> N to Can be swapped out, the program won't load because I don't have
-> enough memory available. I have 8 meg of ram on board, I run a 1 meg
Ok, this will be easy to fix. Be sure to run OPTIMIZE at least TWICE in
a row. Once you have done this, boot up Desqview and see if Wildcat
starts running.
Regardless of whether WC! runs or not, perform the following procedure
to determine what QEMM memory INCLUDE statements your machine may
require to produce large blocks of memory for TSR's to load into:
0) You need to exercise EVERYTHING your machine is going to be doing
so QEMM can log what memory areas are not being used between 640K and
1 meg. To do this:
1) Exit DV! back to DOS.
2) Turn on your Printer. Place a disk in all floppy drives.
3) DIR A:
4) DIR B: (if installed)
5) DIR/W>PRN
6) Start up Any terminal program and issue an AT Z command to ALL
installed modems. Quit the terminal program.
7) Boot up Windows if you have it on the BBS PC.
8) Exit Windows.
9) If you have a tape drive installed, access the tape (a DIR of the
tape is all that is needed to exercise the tape drive) and then quit the
program.
10) Run Manifest:
A) Select QEMM-386
i) Select Analysis
a) Select List Mode (F3)
b) Print this screen out.
Take the Include memory ranges called out by QEMM and add them to your
QEMM386.SYS command like:
DEVICE=C:\QEMM\QEMM386.SYS RAM ROM X=FE00-FEFF I=0400-0FFF I=DD00-DFFF
^^^^^^^^^^^ ^^^^^^^^^^^
Do NOT use the values above! They are for demo purposes Only!
QEMM can only take one command line, so be sure to use an editor (like
MS-DOS EDIT) that can write a line wider than 80 columns.
Add the I= statements one or two at a time and then re-boot and test the
system for stability. Some of the recommendations QEMM calls out may
cause weirdness to occure, so take your time and add those I= statements
in small batches.
Omit any I= statements that cause the PC to flake out. When you have
it all right, you'll get a Manifest report similar to:
Memory Area Size Status
0000 - FFFF 1024K OK
Once you have figured out which I= cammands will work on your PC, run
OPTIMIZE one more time. I'll bet you that just about everything will
now LOADHI successfully, and you'll have 0 problems getting 500K+
Wildcat windows.
-> Ram Disk & 3 meg Cache (hyperdisk), but I still should have plenty of
All that should run fine, assuming you can get the BIG TSR's to LOADHI.
All your problems are directly traceable to one or two BIG TSR's failing
to LOADHI.
If for some reason you can't get everything to LOADHI, you can try
several stratagies to maximize your TSR's memory space:
1) Change the order you load your TSR's in. Load the biggest (as
determined by MFT) first, then the smaller ones. After changing the
load order, re-run OPTIMIZE.
2) Simply don't LOADHI the smaller TSR's (SHARE, ANSI) or any of the
FILES or BUFFERS). Leave room for the BIG TSR's first!
3) Give up all but the TSR's your system really needs to run.
4) Use Manifest's "First Meg- Programs" to see what RAM pig(s) is/are
failing to LOADHI and take appropriate actions.
-> try to swap from N1 to N2, DV says there is a non-swappable window in
-> the way. So I had to set it to Y and then it works (kind of).
But the other node gets off loaded to disk, and is no longer running in
the background. That window is effectively "frozen" and will no longer
talk to the modem.
-> 2nd problem, when I try to switch from N1.BAT to N2.BAT it seems to t
-> a long time to load and there seems to be a long of disk writes going
-> on. Any clue what might be causing that?
Yep, as mentioned above, DV is swapping out the other node to disk, and
not multitasking.
-> 3. Once I have both N1 and N2 up and running, if I have N2 in the
-> foreground, N1 refuses to answer the phone. It just seems to stop
-> working. If I switch back it seems to work. I have both set up as y
Yep, and now you know why!
Try all this good stuff out and let me know what happens!
Allen Woolley Sysop, Moonlit Knight (408)-244-3459 TechNET